// src/utils/i18nField.ts
import type { App } from 'vue'
import { useLocaleStore } from '@/store/modules/locale'


/**
 * 全局国际化字段选择方法
 * @param item 数据对象
 * @param cnField 中文字段名
 * @param enField 英文字段名
 * @returns 根据当前语言返回对应字段值
 */
export function i18nField(item: any, cnField: string, enField: string): any {
  if(!item ){
    return null
  }

  // 校验参数
  if (!cnField || !enField) {
    console.error('$i18nField 参数不能为空')
    return ''
  }
  if (!(cnField in item) || !(enField in item)) {
    console.error(`$i18nField 字段不存在：${cnField} 或 ${enField}`)
    return ''
  }

  const isCn = useLocaleStore().isCn()
  // 获取当前语言状态
  return isCn ? item[cnField] : item[enField]
}

/**
 * 注册全局国际化方法
 * @param app Vue 实例
 */
export function registerI18nGlobal(app: App<Element>) {
  // 注册为全局方法，可在模板中通过 $i18nField 调用
  app.config.globalProperties.$i18nField =i18nField
}

